﻿using System;
using System.IO;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using DeveloperUtility.Security;

using NetExp.MediaXenter.Database;

namespace NetExp.MediaXenter.Utilities
{
    public static class SettingsHelper
    {
        public static SettingsDS ReadSettings()
        {

            SettingsDS settingsDS = new SettingsDS();

            FileInfo fInfo = new FileInfo(Constants.SETTINGSPATH + Constants.FILESETTINGSNAME);
            if (!fInfo.Exists)
            {
                DirectoryInfo dInfo = new DirectoryInfo(Constants.SETTINGSPATH);
                dInfo.Create();
                DefaultSetting(settingsDS);
            }
            settingsDS.ReadXml(Constants.SETTINGSPATH + Constants.FILESETTINGSNAME);

            return settingsDS;
        }

        public static void DefaultSetting(SettingsDS settingsDS)
        {
            SettingsDS.GeneralRow generalRow = settingsDS.General.NewGeneralRow();
            SettingsDS.FontRow fontRow = settingsDS.Font.NewFontRow();
            SettingsDS.ReteRow reteRow = settingsDS.Rete.NewReteRow();

            SettingsDS.PulsantiRow pulsante1 = settingsDS.Pulsanti.NewPulsantiRow();
            SettingsDS.PulsantiRow pulsante2 = settingsDS.Pulsanti.NewPulsantiRow();
            SettingsDS.PulsantiRow pulsante3 = settingsDS.Pulsanti.NewPulsantiRow();
            SettingsDS.PulsantiRow pulsante4 = settingsDS.Pulsanti.NewPulsantiRow();
            SettingsDS.PulsantiRow pulsante5 = settingsDS.Pulsanti.NewPulsantiRow();
            SettingsDS.PulsantiRow pulsante6 = settingsDS.Pulsanti.NewPulsantiRow();

            generalRow.Language = "Italiano";
            generalRow.Run_at_startup = false;
            generalRow.Online = false;
            generalRow.ConnessioneAutomatica = false;
            generalRow.Theme = "MediaXenter";

            fontRow.Bold = true;
            fontRow.Color = "Black";
            fontRow.Family = "Tahoma";
            fontRow.Size = "10";
            fontRow.Italic = false;
            fontRow.Underline = false;

            reteRow.UseProxy = false;

            pulsante1.Nome = "S0101";
            pulsante1.Funzione = "";

            pulsante2.Nome = "S0102";
            pulsante2.Funzione = "";

            pulsante3.Nome = "S0103";
            pulsante3.Funzione = "";

            pulsante4.Nome = "S0104";
            pulsante4.Funzione = "";

            pulsante5.Nome = "S0105";
            pulsante5.Funzione = "";

            pulsante6.Nome = "S0106";
            pulsante6.Funzione = "";

            //pulsante7.Nome = "S0107";
            //pulsante7.Funzione = "";

            settingsDS.Pulsanti.AddPulsantiRow(pulsante1);
            settingsDS.Pulsanti.AddPulsantiRow(pulsante2);
            settingsDS.Pulsanti.AddPulsantiRow(pulsante3);
            settingsDS.Pulsanti.AddPulsantiRow(pulsante4);
            settingsDS.Pulsanti.AddPulsantiRow(pulsante5);
            settingsDS.Pulsanti.AddPulsantiRow(pulsante6);
            settingsDS.General.AddGeneralRow(generalRow);
            settingsDS.Font.AddFontRow(fontRow);
            settingsDS.Rete.AddReteRow(reteRow);
            settingsDS.WriteXml(Constants.SETTINGSPATH + Constants.FILESETTINGSNAME);

            settingsDS.Clear();
        }

        internal static void WriteSettings(SettingsDS settingsDS)
        {
            settingsDS.WriteXml(Constants.SETTINGSPATH + Constants.FILESETTINGSNAME);
        }
    }
}
